<!DOCTYPE html>
<html lang="en">
<head xmlns:th="http://www.thymeleaf.org">
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <script src="/js/jquery-3.7.1.min.js"></script>
    <link rel="stylesheet" href="/plugins/bootstraptable/bootstrap-table.min.css">
</head>
<body>
<div class="container-fluid">

    学生表管理页面！
    <!-- Button trigger modal -->
    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal" onclick="preAdd();">
        新增学生
    </button>

    <table class="table table-bordered" id="stuTable">


    </table>
</div>

<div class="modal fade" tabindex="-1" role="dialog" id="myModal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">学生信息</h4>
            </div>
            <div class="modal-body">
                <form id="formStudent">
                    <input hidden="hidden" id="id" name="id"/>
                    <div class="form-group">
                        <label for="name">姓名</label>
                        <input type="text" class="form-control" id="name" name="name" placeholder="姓名">
                    </div>
                    <div class="form-group">
                        <label for="password">密码</label>
                        <input type="password" class="form-control" id="password" name="password" placeholder="密码">
                    </div>
                    <div class="form-group">
                        <label for="no">学号</label>
                        <input type="text" class="form-control" id="no" name="no" placeholder="学号">
                    </div>
                    <div class="form-group">
                        <label for="sex">性别</label>
                        <select class="form-control" id="sex" name="sex">
                            <option value="0">未知</option>
                            <option value="1">男</option>
                            <option value="2">女</option>
                        </select>
                    </div>
                    <div class="form-group">
                        <label for="age">年龄</label>
                        <input type="text" class="form-control" id="age" name="age" placeholder="年龄">
                    </div>
                    <div class="form-group">
                        <label for="score">成绩</label>
                        <input type="text" class="form-control" id="score" name="score" placeholder="成绩">
                    </div>
                </form>
                <!- 表单结束->
            </div>
            <div class="modal-footer">
                <!--<button type="button" class="btn btn-primary" onclick="addStudent()">新增学生</button>-->
                <button type="button" class="btn btn-primary" onclick="saveStudent()">保存</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

<script src="/js/bootstrap.js"></script>
<script src="/plugins/bootstraptable/bootstrap-table.min.js"></script>
<script src="/plugins/bootstraptable/locale/bootstrap-table-zh-CN.min.js"></script>
<script type="text/javascript">
    function preAdd(){
        $("#id").val(0);//提示新增
    }

    //新增或更新
    function saveStudent() {
        var data = $("#formStudent").serialize();
        var id = $('#id').val();
        if (id < 1) {
            //是新增
            $.ajax({
                url: "/webapi/student/insert",
                method: "post",
                data:data
            }).done(function () {

                loadTable();
                $('#myModal').modal('hide')

            })
        }
        else {
            //是更新
            $.ajax({
                url: "/webapi/student/update",
                method: "put",
                data: data
            }).done(function () {

                loadTable();
                $('#myModal').modal('hide')

            })
        }
    }

   function editStudent(id){
       $('#myModal').modal('show');
        $.ajax({
            url:'/webapi/student/get/'+id
        }).done(function (rs){
            $('#id').val(rs.id);
            $('#no').val(rs.no);
            $('#name').val(rs.name);
            $('#password').val("");
            $('#sex').val(rs.sex);
            $('#age').val(rs.age);
            $('#score').val(rs.score);

        })
   }


   function deleteStudent(id){
        if(confirm("您是否真的要删除?")) {
            $.ajax({
                url: "/webapi/student/delete/" + id,

                method: "delete"
            }).done(function () {
                loadTable();
            });

        }
   }

    function loadTable(){
        $("#stuTable").bootstrapTable({
            url: '/webapi/student/getbypage',
            striped: true, //设施为true有隔行变色效果
            pagination: true, //设置为true会在底部显示分页条
            singleSelect: false, //设置为true将会禁止多选
            pageSize: 3, //每页数据的条数
            pageNumber: 1, //首页页码
            sidePagination: "server", //设置在哪里进行分页，可选值为“client”
            queryParams: function (parms) {
                var paraObj = {
                    size: parms.limit,
                    page: parms.offset/parms.limit,
                    sort: "id",
                    direct: "desc"
                };
                return paraObj; // 添加这行以返回参数对象
            },
            columns: [{
                field: "id",
                title: "序号"
            }, {
                field: "no",
                title: "学号"
            }, {
                field: "name",
                title: "姓名"
            }, {
                field: "age",
                title: "年龄"
            },{
                field: "age",
                title: "性别"
            },{
                field: "age",
                title: "成绩"
            }, {
                title: "操作",
                formatter: function (value, row) {// 使用 formatter 函数自定义列的内容
                    return '<button class="btn btn-link " onclick="deleteStudent(' + row.id + ')">删除</button>' +'  '+
                        '<button class="btn btn-link" onclick="editStudent(' + row.id + ')">更新</button>';
                }
            }]

        });
    }//end of loadTable


    $(function (){
        loadTable();
    })
</script>
</body>
</html>